1차원 배열과 다차원 배열
✒️ 2025-05-15 15:52 내용 수정
수제비 2024 정보처리기사 필기 5판 1권의 내용을 정리
TCPSchool의 내용을 정리
1차원 배열
같은 타입의 변수들로 이뤄진 유한 집합
- Java의 배열(배열(Arrays)), JavaScript의 배열(배열), Python의 리스트 자료형(리스트 자료형)도 참고.
- 요소(element) : 배열을 구성하는 각각의 값
- 인덱스(index) : 배열에서 위치를 가리키는 숫자로, 0 ~ (배열크기-1) 까지 있다.
타입 배열명[배열길이];
타입 배열명[배열길이] = {요소1, 요소2, ..., 요소n};
타입 배열명[] = {요소1, 요소2, ..., 요소n};
#include <stdio.h>
int main(void)
{
// 배열 먼저 선언 후 초기화
int score[3];
score[0] = 50;
score[1] = 100;
score[2] = 80;
// 선언과 동시에 초기화
char chars[3] = {'a', 'b', 'c'};
// 선언과 동시에 초기화
float nums[] = {2.1, 4.21, 6.234, 10.21};
}
- 배열이 차지하는 메모리의 크기
배열이 차지하는 메모리 크기 = 배열 길이 x sizeof(타입)
- 배열의 길이
배열의 길이 = sizeof(배열이름) / sizeof(배열이름[0])
다차원 배열
2차원 이상의 배열로, 배열 요소에 또 다른 배열을 가지는 배열
- Java의 다차원 배열도 참고.
- 2차원 배열은 배열 요소로 1차원 배열을 가지고, 3차원 배열은 2차원 배열을 배열 요소로 가진다.
타입 배열명[행의길이][열의길이];
타입 배열명[행의길이][열의길이] = {배열[0][0], 배열[0][1], 배열[1][0], 배열[1][1], 배열[2][0], 배열[2][1], ..};
타입 배열명[행의길이][열의길이] = {
{배열[0][0], 배열[0][1], ..},
{배열[1][0], 배열[1][1], ..},
{배열[2][0], 배열[2][1], ..}
}
float points[4][2] = {3.2, 3.4, 6.0, 1.4, 2.9, 9.5, 7.5, 6.6, 5.0};
int nums[2][3] = {
{1, 2, 3},
{4, 5, 6}
};
- 배열의 길이
배열의 행이 길이 = (sizeof(arr) / 배열의 열의길이) / sizeof(arr[0][0])
배열의 열의 길이 = sizeof(arr[0]) / sizeof(arr[0][0])